package com.rockontrol.ele.service;
import java.util.List;

import com.rockontrol.ele.pojo.Ma回收单;
import com.rockontrol.ele.pojo.Ma安装位置;
import com.rockontrol.ele.pojo.Ma报废单;
import com.rockontrol.ele.pojo.Ma物资流程审批;
import com.rockontrol.ele.pojo.Ma移交单;
import com.rockontrol.ele.pojo.Ma维修计划;
import com.rockontrol.ele.pojo.Ma维修计划明细;
import com.rockontrol.ele.pojo.Ma设备;
import com.rockontrol.ele.pojo.Ma设备台帐;
import com.rockontrol.ele.pojo.Ma设备巡检信息;
import com.rockontrol.ele.vo.LocCdt;
import com.rockontrol.ele.vo.MaCdt;
import com.rockontrol.ele.vo.MaEqnagementVo;
import com.rockontrol.ele.vo.MaEqpollingCdt;
import com.rockontrol.ele.vo.MaLedger;
import com.rockontrol.ele.vo.MaLedgerCdt;
import com.rockontrol.ele.vo.MaMultipleInfo;
import com.rockontrol.ele.vo.MaOverhaulCnt;
import com.rockontrol.ele.vo.MaOverhaulCntCdt;
import com.rockontrol.ele.vo.MaOverhaulPlanCdt;
import com.rockontrol.ele.vo.MaRecoverCdt;
import com.rockontrol.ele.vo.MaTransferCdt;
import com.rockontrol.ele.vo.MaValue;
import com.rockontrol.ele.vo.MascrapCdt;

/**
 * 提供物资维修信息查询类
 * @author 杨帆
 *
 */
    public interface MaEquipmentSvc{
	   /**
	    *分页接口
	    *@author 杨晶
	    *@version 1.0, Sat Mar 31 00:00:00 CST 2012
	    *@param 页数和分页参数
	    *@return 
	    */
        public String pageNumEquipment(Integer num,String roll);

        
        /**
         * 创建设备基本信息
         * @param Eq_
         * @return String 设备ID,   NULL 失败
         */
        public String createEquipment(Ma设备 Eq_);
        
        /**
         * 根据设备ID获取设备基本信息
         * @param id_
         * @return Ma设备  设备对象,    NULL 失败
         */
        public Ma设备 getEquipment(String id_);
        
        /**
         * 根据设备编号获取设备基本信息
         * @param code
         * @return Eq设备 设备对象, NULL 失败
         */
        public Ma设备 getEquipmentByCode(String code);
        
        /**
         * 根据设备分类获取最大的设备编码
         * @param typeid
         * @return String 设备编码,   NULL 失败
         */
        public String getEquipmentCodeByType(String typeid,String modelid);
        
        /**
         * 根据查询条件获取设备基本信息集
         * @param op_
         * @return List<Eq设备> 设备信息集,  NULL 失败
         */
        public List<Ma设备> getEquipments(MaCdt op_);
        public List<Ma设备> getEquipmentList(MaCdt op_);
       
        public String pageInitGetEquipments(MaCdt op_,String roll_);
        
        /**
         * 修改设备基本信息
         * @param Eq_
         * @return True 成功,   False 失败
         */
        public Boolean updateEquipment(Ma设备 Eq_);
        
        /**
         * 根据设备ID删除设备基本信息
         * @param id_
         * @return   True 成功,   False 失败
         */
        public Boolean deleteEquipment(String id_);
        
        /**
         * 创建设备台帐
         */
        public String createEquipmentManagment(Ma设备台帐 eq);
        
        /**
         * 根据id获取设备台帐信息
         * @param id
         * @return
         */
        public Ma设备台帐 getEquipmentManagement(String id);
        
        /**
         * 根据设备id获取设备台帐信息(当前正在管理的信息)
         * @param id
         * @return
         */
        public Ma设备台帐 getEquipmentManagementByEqId(String id);
        
        /**
         * 根据设备id获取该设备所有管理信息
         * @param eqId
         * @return
         */
        public List<Ma设备台帐> getEquipmentManagements(String eqId);
        
        public String pageInitGetEquipmentManagements(String eqId,String roll);
        
        /**
         * 修改设备台帐信息
         * @param eq
         * @return
         */        
        public Boolean updateEquipmentManagement(Ma设备台帐 eq);
        
        /**
         * 删除设备台帐信息
         * @param id
         * @return
         */
        public Boolean deleteEquipmentManagement(String id);
        
        /**
         * 根据设备ID获取设备综合信息
         * @param id_
         * @return EqMultipleInfo 设备综合信息, NULL 失败
         */
        public MaMultipleInfo getEqMultipleInfo(String id_);
        
        /**
         * 获取设备以及设备关联台帐明细的信息集
         * @param op
         * @return List< MaEqnagementVo >,    Null 失败
         */
        public List<MaEqnagementVo> getEqdetails(MaCdt op);
        
        public String pageInitGetEqdetails(MaCdt cdt,String roll);
        
        /**
         * 根据查询条件获取设备位置信息记录集
         * @param opt_
         * @return     List<Eq设备位置> 位置信息记录集,  Null 失败
         */
        public List<Ma安装位置> getEqLocations(LocCdt opt_);
        
        /**
         * 根据设备Id获取设备当前位置信息
         * @param id_
         * @return Eq设备位置 位置信息,   Null 失败
         */
        public Ma安装位置 getLocation(String id_);
        
        /**
         * 创建设备位置信息
         * @param loc
         * @return String id_ 位置信息id, Null 失败
         */
        public String createLocation(Ma安装位置 loc);
        
        /**
         * 修改设备位置信息
         * @param loc
         * @return true 成功,   false 失败
         */
        public Boolean updateLocation(Ma安装位置 loc);
        
        /**
         * 删除设备位置信息
         * @param id_
         * @return true 成功,   false 失败
         */
        public Boolean deleteLocation(String id_);
        
        /**
         * 获取设备总台账信息
         * @param op_
         * @return List< EqLedger> 设备总台账数据集,  NULL 失败
         */
        public List<MaLedger> getEqLedgers(MaLedgerCdt op_);
        
        public String pageInitGetEqLedgers(MaLedgerCdt op_,String roll_);
        
        /**
         * 创建设备回收单
         * @param er_
         * @return String 回收单ID,  NULL 失败
         */
        public String createEqRecover(Ma回收单 er_);
        
        /**
         * 根据回收单ID获取设备回收单
         * @param id_
         * @return EqRecover回收单对象,    NULL 失败
         */
        public Ma回收单 getEqRecover(String id_);
        
     
        /**
         * 
         * 根据查询条件获取设备回收单集
         * @param op_
         * @return List<EqRecover> 回收单对象集,    NULL 失败
         */
        public List<Ma回收单> getEqRecovers(MaRecoverCdt op_);
        /**
         * 
         * 根据查询条件获取设备回收单集
         * @param op_
         * @return List<EqRecover> 回收单对象集,    NULL 失败
         */
        public String pageInitGetEqRecovers(MaRecoverCdt cdt,String roll);
        /**
         * 修改设备回收单
         * @param er_
         * @return True 成功,   False 失败
         */
        public Boolean updateEqRecover(Ma回收单 er_);
        
        /**
         * 删除设备回收单
         * @param id_
         * @return True 成功,   False 失败
         */
        public Boolean deleteEqRecover(String id_);
        
        /**
         * 创建设备移交单
         * @param et_
         * @return String 回收单ID,  NULL 失败
         */
        public String createEqTransfer(Ma移交单 et_);
        
        /**
         * 根据移交ID获取设备移交信息
         * @param id_
         * @return EqTransfer 回收单,    NULL 失败
         */
        public Ma移交单 getEqTransfer(String id_);
        
        /**
         * 根据移交单查询条件获取设备移交信息集
         * @param op_
         * @return List<EqTransfer> 回收单集, NULL 失败
         */
        public List<Ma移交单> getEqTransfers(MaTransferCdt op_);
        /**
         * 分页获取设备移交信息集
         * @param op_
         * @return List<EqTransfer> 回收单集, NULL 失败
         */
        public String pageInitetEqTransfers(MaTransferCdt cdt,String roll);
        
        /**
         * 修改设备移交单
         * @param et_
         * @return True 成功,   False 失败
         */
        public Boolean updateEqTransfer(Ma移交单 et_);
        
        
        /**
         * 根据移交单ID删除设备移交单
         * @param id_
         * @return True 成功,   False 失败
         */
        public Boolean deleteEqTransfer(String id_);
        
        /**
         * 创建设备报废信息
         * @param es_
         * @return String 报废信息ID， NULL 失败
         */
        public String createEqScrap(Ma报废单 es_);
        
        /**
         * 获取一个设备报废信息
         * @param id_
         * @return EqScrap报废信息,   NULL 失败
         */
        public Ma报废单 getEqScrap(String id_);
        
        /**
         * 获取设备报废信息集
         * @param op_
         * @return List<EqScrap> 报废信息集,   NULL 失败
         */
        public List<Ma报废单> getEqScraps(MascrapCdt op_);
         /**
          * 获取设备报废信息集
          * @param op_
          * @return List<EqScrap> 报废信息集,   NULL 失败
          */
         public String pageInitGetEqScraps(MascrapCdt cdt,String roll_);
        /**
         * 修改设备报废信息
         * @param es_
         * @return True 成功,   False 失败
         */
        public Boolean updateEqScrap(Ma报废单 es_);
        
        /**
         * 删除一个设备报废信息
         * @param id_
         * @return True 成功,   False 失败
         */
        public Boolean deleteEqScrap(String id_);
        
        /**
         * 创建维修计划
         * @param eop_
         * @return String 维修计划ID, NULL 失败
         */
        public String createMaOverhaulPlan(Ma维修计划 eop_);
        
        /**
         * 根据维修计划ID获取维修计划
         * @param id_
         * @return Ma维修计划 维修计划,   NULL 失败
         */
        public Ma维修计划 getMaOverhaulPlan(String id_);

        /**
         * 根据维修计划bindID获取维修计划
         * @param id_
         * @return Ma维修计划 维修计划,   NULL 失败
         */
        public Ma维修计划 getMaOverhaulPlanByBindId(String bindid_);
        
        /**
         * 根据维修计划查询条件获取维修计划
         * @param op_
         * @return List<Ma维修计划> 维修计划集,    NULL 失败
         */
        public List<Ma维修计划> getMaOverhaulPlans(MaOverhaulPlanCdt op_);
        
         /**
          * 分页获取维修计划
          * @param op_
          * @return List<Ma维修计划> 维修计划集,    NULL 失败
          */
         public String pageInitGetMaOverhaulPlans(MaOverhaulPlanCdt cdt,String roll_);
        /**
         * 修改维修计划
         * @param eop_
         * @return True 成功,   False 失败
         */
        public Boolean updateMaOverhaulPlan(Ma维修计划 eop_);
        
        /**
         * 删除维修计划
         * @param id_
         * @return True 成功,   False 失败
         */
        public Boolean deleteMaOverhaulPlan(String id_);
        
        /**
         * 保存维修计划审批信息
         * @return
         */
        public Boolean createMaOverhualPlanApporve(Ma物资流程审批 ea_ );
        
        /**
         * 根据查询条件统计维修信息
         * @param op_
         * @return List<MaOverhaulCnt> 维修统计结果集,   NULL 失败
         */
        public List<MaOverhaulCnt> getMaOverhaulCnt(MaOverhaulCntCdt op_);
        
         
         /**
          * 分页统计维修信息
          * @param op_
          * @return List<MaOverhaulCnt> 维修统计结果集,   NULL 失败
          */
         public String pageInitCntsGetMaOverhaulCnt(MaOverhaulCntCdt cdt,String roll_);
        /**
         * 创建维修计划明细
         * @param eo_
         * @return String 维修计划明细ID,   NULL 失败
         */
        public String createMaOverhaul(Ma维修计划明细 eo_);
        
        /**
         * 根据维修计划明细ID获取维修计划明细
         * @param id_
         * @return Ma维修计划明细维修计划明细,    NULL 失败
         */
        public Ma维修计划明细 getMaOverhaul(String id_);
        
        /**
         * 根据维修计划明细查询条件获取维修计划明细集
         * @param eoo_
         * @return List<Ma维修计划明细> 维修计划明细集,    NULL 失败
         */
        public List<Ma维修计划明细> getMaOverhauls(MaOverhaulPlanCdt eoo_);
        
        public String pageInitGetMaOverhauls(MaOverhaulPlanCdt eoo_,String roll_);
        
        /**
         * 根据维修计划ID获取维修计划明细集
         * @param id_
         * @return List<Ma维修计划明细> 维修计划明细集,    NULL 失败
         */
        public List<Ma维修计划明细> getMaOverhaulsByOid(String id_);
        
      
          
        /**
         * 修改维修计划明细
         * @param eo_
         * @return True 成功,   False 失败
         */
        public Boolean updateMaOverhaul (Ma维修计划明细 eo_);
        
        /**
         * 根据维修计划明细ID删除维修计划明细
         * @param id_
         * @return True 成功,   False 失败
         */
        public Boolean deleteMaOverhaul (String id_);
        
        /**
         * 获取设备运行时的实时数据。该方法调用集中告警系统服务获取指定设备的实时数据
         * @param id_
         * @return List<MaValue> 实时数据集,   NULL 失败
         */
        public List<MaValue> getMaRunningInfo(String id_);
        
         /**
          * 分页获取设备运行时的实时数据。该方法调用集中告警系统服务获取指定设备的实时数据
          * @param id_
          * @return List<MaValue> 实时数据集,   NULL 失败
          */
         public String pageInitGetMaRunningInfo(String id_,String roll_);
     
        
        
        /**
         * 创建设备台账
         * @param info
         * @return
         */
        public String createEqStandingBook (Ma设备台帐 info);

        /**
         * 根据bindId查找 维修计划明细
         * @param bindid_
         * @return Ma维修计划明细
         */
        public Ma维修计划明细 getMaOverhaulPlanDetailByBindId(String bindid_);

        
        /**
         * 修改设备台账
         * @param info
         * @return
         */
        public Boolean updateEqStandingBook (Ma设备台帐 info);
        
        /**
         * 删除设备台账
         * @param info
         * @return
         */
        public Boolean deleteEqStandingBook (String oid_);
        
        /**
         * 根据ID查询设备台账
         * @param info
         * @return
         */
        public Ma设备台帐 getEqStandingBook (String oid_);
        

        /**设备巡检
         * @param opt
         * @param roll
         * @return
         */
        public String pageInitGetEqpollings(MaEqpollingCdt opt,String roll);
        
        /**创建设备巡检
         * @param info
         * @return
         */
        public String createEqpolling(Ma设备巡检信息 info);
        
        /**修改设备巡检
         * @param info
         * @return
         */
        public Boolean updateEqpolling(Ma设备巡检信息 info);
        
        /**删除设备巡检
         * @param oid_
         * @return
         */
        public Boolean deleteEqpolling(String oid_);
        
        /**根据oid获取设备巡检信息
         * @param oid_
         * @return
         */
        public Ma设备巡检信息 getEqpolling(String oid_);
        
        /**获取设备巡检信息
         * @param op_
         * @return
         */
        public List<Ma设备巡检信息> getEqpollings(MaEqpollingCdt op_);
        
        public String pageInitGetEqList(MaCdt cdt,String roll);

}
